FORM表单重复提交问题解决方法

您所在的位置:网站首页 js form表单提交到另一个页面 FORM表单重复提交问题解决方法

FORM表单重复提交问题解决方法

#FORM表单重复提交问题解决方法| 来源: 网络整理| 查看: 265

    在web开发中如果用到Form表单提交数据到后台,会遇到一个问题,我之前遇到过,就是在提交完之后若不跳到另一个页面,表单的提交信息会保存在缓存中,一单再次点击sumit,或者F5刷新页面,又或者后退前进,都会触发表单信息在再次提交,这就是所说的重复提交Form表单信息,解决办法:(1)首先如果是提交表单后提交按钮变灰/隐藏提交按钮,但是这个办法不能够防止“刷新”的重复提交,不是很推荐(如果能够结合后面的方法,这个在表现形式上还是不错的)(2)最简单:页面提交后转到另一个页面而不是本页面,这个办法可能有朋友会说,如果我就是要留在原页面呢,其实这个时候你可以写一个中间页形式的东西,在跳回来。

(3)在js里设置全局变量,提交后修改该变量的值,依据变量的值判断是否重复提交             var flag=false;             function checkForm(){               if (flag==true){                   return false;               }              flag=true;              document.form1.submit();

             }

(4)在登录用户的Session中,放置一个随机数作为同步标记,并在初始化新增或编辑页面时就返回到前台页面中,用隐藏域赋值,当form被提交时,form中的同步标记就和Session中的同步标记作对比。在form首次提交的时候,这两个标记应该是一样的。如果标记不一样,那么该form就会禁止提交,一个错误就会返回给用户。在用户提交一个form时,如果按下浏览器中的后退按钮并尝试重新提交同一个form时,标记就会出现不匹配的现象。       另一方面,如果两个标记值匹配,那么我们就可以确信整个流程是正确的。在这种情况下,Session中的标记值就会被修改为一个新的值,同时允许提交该form。

      还可以使用这个策略来控制对某些页面的直接访问,就好象上面资源保护中描述的一样。例如,假设一个用户将某个应用的页面A收藏到收藏夹中,而页面A 只允许通过页面B和C访问。当用户直接通过收藏夹来访问页面A,这时页面的访问顺序就是不正确的,这样同步标记将处在一个不同步的状态,或者它根本就不存在。不论怎样,访问都被禁止了。

     以上是我遇到这个问题然后上网查资料之后总结的几点,个人觉得2,3比较实用

0 0 FORM表单重复提交问题解决方法 FORM表单重复提交问题解决方法 form表单重复提交 表单重复提交问题解决 jquery提交form表单时禁止重复提交的方法 防止form表单重复提交 form表单重复提交问题 防止form表单重复提交 form表单避免重复提交 php 解决和避免form表单重复提交的方法 php 解决和避免form表单重复提交的方法 php 解决和避免form表单重复提交的方法 php 解决和避免form表单重复提交的方法 php 解决和避免form表单重复提交的方法 防止form表单重复提交的八种方法 Form表单提交方法 struts1 表单重复提交问题解决!! Form表单提交方法method 遍历整个目录树的文件和目录 JavaScript技巧小招数 android——不错的网络编程知识 Android 网络通信框架Volley简介(Google IO 2013) mysql基本指令 FORM表单重复提交问题解决方法 KMP算法中关于构造DFA部分的纠结 SIFT-sift.m .NET下的内存分配机制 博客生涯新的开始 浮点数的表示 Sephiroth Python 分割文件以及合并文件 Recursive class initialization in Java Eclipse下安装GEF和AmaterasUML


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3